GTM Server Side Tracking
GTM
@2022 勉強しなおし
App Engineが用意されていて、それを使う。standardでもflexibleでも行けるが、本番は flexibleが推奨されてる。
理由は、よくわからないけど、最終的に、flexibleで自分の責任でやってね?という意味?
code: standardの package.json
{
"name": "gtm-cloud-image",
"version": "1.1.0",
"main": "server_bin.js",
"scripts": {
"start": "node server_bin.js"
},
"dependencies": {
"cacheable-lookup": "6.0.4",
"flags": "0.1.3",
"@google-cloud/bigquery": "~5.11.0",
"google-auth-library": "~7.14.0"
}
}
cacheable-lookup - npm
サーバサイド Google Tag Manager 環境を Cloud Run で構築する | by Wataru Inoue | google-cloud-jp | Medium
Cloud Runでやる例もある。Imageがある。
ブラウザから tracking serverにrequestを送るために、普通のGTMには、transport urlフィールドがあるし、GA用の設定もある
製品開発は進んでる
async/await
Firestore
community template
https://tagmanager.google.com/gallery/#/?page=1
Server-Side Tagging Made Easy - Stape
server side tag専門のagency?
と思ったら、Pricing - Stape requestごとにcharge?, serverをstape.ioでhosting前提かな?
導入メリット
safari ITP
カスタムドメインにしてリクエスト先を、サブドメインでは違うが同一ドメインにできる
cookieをhttp属性にできる
爆速サイト構築に挑戦2.サーバーサイドGTMでITP対応 - 清水誠メモ
site performance測定などにおいて
クライアント側の負担を、server側に一部移すことは可能
server側なので、ブラウザ側の事を気にせずに処理が書ける
BigQueryへのinsertや、
あとは、いろいろできそう
デメリット
学習コスト(初期・運用)は大きい。
app engineの費用もどれくらいかは分からないが、1 instanceごとに4000円/月(f1 machine?)くらいのイメージ?
とりあえず、 テスト環境といわれるstandardで運用してみてる。
// 以下は、2020のメモ
Tealiumが先行事例
Client vs Server-side Tracking - Tealium
GTMにサーバーサイドで動作するサーバー用コンテナが登場
@202008 時点での解説
Server-side GTM を Google AppEngine にデプロイする | エクスチュア株式会社ブログ
これまでのbeaconをそのまま送る話
なぜかというと、Server-side GTMはWebサイトからのGAビーコンを受け取ってGAサーバーに転送するためのリバースプロキシなので、細かい設定は「Webサイト用GTM」側で行います
app engineのlogは stack driverに残るので、実は beaconの検証はやりやすくなるかもしれない、と思った。
最初に聞いた際の思った事 @202001
server(container管理含む)を誰がするか、
domainは、サイトのdomain. (ここは、大した問題ではない?)。少なくとも、ドメイン単位での管理を想定すれば、、そうでないケースもあるが、
server側でいろいろできるのがメリットだが、スクラッチでやりたい人はいない。
ウェブサーバー機能(browserからのリクエスト受け付け)
(http?, もっと簡略化したprotocol?)クライアント機能
管理画面から、設定を受け付ける機能
このあたりを提供してくれる、プロダクトで、付随するサービスも生まれる可能性はある。
思想的?に、ブラウザ側でのトラッキング機能をシンプルにして、管理しやすくしようというのはある。
トラッキングで、ユーザー側の管理をしやすくできる方向にも沿う流れ?
#GTM